// scaup - Scala up!
// (c) 2008-2010, Normen Müller, normen.mueller@gmail.com  
// $Id: implicits.scala 78 2010-05-13 12:25:41Z normen.mueller $
package scaup

import scaup.data._
import scaup.io._

/** The object <code>Views</code> provides implicit views to extensions of in-built data structures.
 *  Using <code>scaup</code> one should import <code>scaup.Views._</code> at the very beginning of each
 *  unit.
 * 
 *  <p>@thanks to Jamie Webb &lt;jwebb@scalaforge.org&gt; for his initial ideas via his scalax library (v0.1).
 *  In particular <code>scaup.data.{FilterMap, Conversions, IteratorHelp}</code> are taken out of scalax.</p>
 * 
 *  @author <a href="mailto:normen.mueller@googlemail.com">Normen M&#xFC;ller</a>
 *  @version 0.0.4
 */
object Views {
  implicit def stringExtras(string: String) = new StringExtras(string)
  
  implicit def fileExtras(file: java.io.File) = new FileExtras(file)
  
  implicit def uriExtras(uri: java.net.URI) = new URIExtras(uri)
  
  implicit def listExtras[T](list: List[T]) = new ListExtras(list)

  implicit def iterable2IteratorExtras[T](s: Iterable[T]) = new IteratorExtras(s.elements)
  implicit def iterator2IteratorExtras[T](s: Iterator[T]) = new IteratorExtras(s)  
}
